Model-driven engineering (MDE) is a technique employed in various engineering fields such as software, system and data engineering. MDE involves the systematic use of models as primary engineering artifacts. For example, model-driven software development or model-driven business transformation relies on the use of models such as models defined in the Unified Modeling Language (UML). When dealing with such models, a model merging scenario often arises where two or more models have to be brought together in some way. One scenario for model merging is the improvement of an existing model by a reference model, where some parts of the existing model should be preserved and others should be replaced. Model merging is also required when two different models need to be brought into some degree of conformity. An example of this is the merging of business process models when companies are subject to acquisitions and mergers. In such situations, processes have to be aligned at the business and IT level, while identifying and preserving differences where appropriate. Another merging scenario arises if two or more different versions of the same model need to be integrated. For example, where models are manipulated in a distributed manner by several modelers, changes made in different models must be consolidated at some point and an integrated, consolidated model created. Here, differences must be analyzed and parts of different copies must be merged into the integrated model. In all such model merging operations, it is often necessary to add specific elements of one model to another model. When an element is to be added to a model, a suitable point for inserting the element must be identified. In particular, the insertion point should be such that addition of the element does not cause conflicts by violating sequence order requirements in the control flow of the model.
When merging two models as described above, a comparison of the two models must be established which identifies correspondences between elements of the two models. A technique for comparing models using different types of correspondences between model elements is disclosed in “Improving Business Process Models with Reference Models in Business-Driven Development”, J. M. Küster, J. Koehler, K. Ryndina, 2nd Workshop on Business Processes Design (BPD'06), LNCS, Springer-Verlag, September 2006. This describes how the existence of certain types of correspondence between model elements can be used to select a suitable merging operation, but does not address the problem of identifying insertion points. Various other techniques have been proposed relating to model merging. For example, S. Sun et al., “Merging Workflows: A new perspective on connecting business processes”, Journal of Decision Support Systems, Volume 42, Issue 2, November 2006, pages 844-858, Elsevier, describes how two workflows can be merged using merge points and distinguishes between replacement merge operations, for replacement of workflow parts, and insertion merge operations for insertion of workflow parts at a certain merge point. This system does not provide for identification of merge points, but simply assumes the merge points are specified in advance. Grossmann et al., “Definition of Business Process Integration Operators for Generalizations”, Proceedings 7th International Conference on Enterprise Information Systems, ICEIS 2005, May 24-28 2005, and “Behavior Based Integration of Composite Business Processes”, 3rd International Conference on Business Process Management, BPM 2005, Sep. 5-8, 2005, LNCS 3649, pages 186-204, Springer-Verlag, describe process integration operators that are based on activity correspondences between models. Again, this approach requires merge points, defined by the correspondences, to be predefined. A similar approach for merging EPC (Event-Driven Process Chains) models is described by J. Mendling and C. Simon, in “Business Process Design by View Integration”, J. Eder et al., eds.: Proceedings of the BPM 2006 Workshops, Workshop on Business Process Design BPD 2006, Sep. 5-7, 2006, Vienna, Austria. General work on model merging and model composition which establishes common terminology and develops languages for defining correspondences as well as tool support is disclosed in Bezivin et al., “A Canonical Scheme for Model Composition”, Proceedings Model Driven Architecture—Foundations and Applications: Second European Conference, ECMDA-FA 2006, LNCS 4066, Springer-Verlag, pages 346-360, 2006. Again, however, the particular problem of insertion point identification is not addressed.